# lambda表达式

# 定义函数 计算 x 的平方
# def my_power(x,n=2):
#     return x ** n
#
# print(my_power(4))

# lambda表达式基本格式 ：  lambda入参：表达式

# print((lambda x: x ** 2)(5))

# 使用匿名参数 直接调用函数
# power = lambda x, n: x ** n
# print('%d的%d次方的结果是：%d' % (2, 3, power(2, 3)))

# 定义一个函数，传入一个list，将list每个元素的值加1（另一个地方调用将所有元素的值加2）
# 方法1 定义函数
# def add(func, l=[]):
#     return [func(x) for x in l]
#
#
# def add1(x):
#     return x + 1
#
#
# def add2(x):
#     return x + 2
#
#
# print(add(add1, [1, 2, 3]))
# print(add(add2, [1, 2, 3]))

# 方法2：使用lambda表达式
def add(func, l=[]):
    return [func(x) for x in l]


print(add(lambda x: x + 1, [1, 2, 3]))
print(add(lambda x: x + 2, [1, 2, 3]))
